var http = require('http')
var fs = require('fs')
// 导入新的URL模块
var { URL } = require('url')
var template = require('art-template')
var comments = [
  {
    name: '张三',
    message: '今天天气不错！',
    dateTime: '2021-4-16 18:30 2s'
  }
]
http
  .createServer(function (req, res) {

    // new URL(路径url, 你的服务器的地址)
    var parseObj = new URL(req.url, 'http://localhost:3000')
    var pathname = parseObj.pathname


    if (pathname === '/') {
      fs.readFile('./views/index.html', function (err, data) {
        if (err) {
          return res.end('404 Not Found')
        }
        var htmlStr = template.render(data.toString(), { comments: comments })
        res.end(htmlStr)
      })
    }
    else if (pathname === '/post') {

      fs.readFile('./views/post.html', function (err, data) {
        if (err) {
          return res.end('404 Not Found')
        }
        res.end(data)
      })
    }
    else if (pathname.indexOf('/public/') === 0) {
      fs.readFile('.' + pathname, function (err, data) {
        if (err) {
          return res.end('404 Not Found')
        }
        res.end(data)
      })
    }
    else if (pathname === '/ping_lun') {
      // var comment = parseObj.query

      var comment = {}
      var str = parseObj.search
      /**
       * 1、new URL()使用获取字符串的方法使用search
       * 2、获取的是字符串：?id=1&page=1
       * 3、需要将字符串转换为对象，需要自己做相关处理
      */
      str = str.substr(1) //截取 ？后面的内容
      // 第一次切割 & 符号的参数，第二次切割的是 = 的键值对
      str.split('&').map(item => {
        var arr = item.split('=')
        comment[decodeURI(arr[0])] = decodeURI(arr[1])
      })
      var date = new Date();
      comment.dateTime = date.getFullYear() + '-' + String(date.getMonth() + 1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ' ' + date.getSeconds() + 's'
      comments.unshift(comment)
      console.log(comments)
      res.statusCode = 302
      res.setHeader('Location', '/')
      res.end()
    }
    else {
      fs.readFile('./views/404.html', function (err, data) {
        if (err) {
          return res.end('404 Not Found')
        }
        res.end(data)
      })
    }
  })
  .listen(3000, function () {
    console.log('服务器已经启动')
  })